Skip to content

fix: improve Maestro Android reliability and snapshot speed#612

Merged
thymikee merged 13 commits into
mainfrom
codex/fix-maestro-targets-swipes
May 29, 2026
Merged

fix: improve Maestro Android reliability and snapshot speed#612
thymikee merged 13 commits into
mainfrom
codex/fix-maestro-targets-swipes

Conversation

@thymikee

@thymikee thymikee commented May 28, 2026

Copy link
Copy Markdown
Member

Summary

Improve Maestro compat and Android snapshot reliability/performance for the React Navigation suite.

  • tighten Maestro target resolution/geometry for React Navigation tab, header, and pager cases
  • speed up Android helper snapshots with shorter idle waits, slimmer XML, scroll-action hints, chunk transport, and zero-area ref filtering
  • implement ADR 0002 for Android snapshots with a persistent adb forward helper session, request-id/protocol validation, install/options invalidation, one-shot fallback, and helper transport metadata
  • add iOS URL/deep-link app resolution fixes and replay cleanup/control-flow refactors needed by the suite
  • document the persistent helper-session model and Android opt-out env var

Validation

  • pnpm exec vitest run src/compat/maestro/tests/runtime-targets.test.ts src/compat/maestro/tests/runtime-interactions.test.ts src/daemon/handlers/tests/session-replay-vars.test.ts
  • pnpm exec vitest run src/platforms/android/tests/snapshot-helper-session.test.ts src/platforms/android/tests/snapshot-helper.test.ts src/platforms/android/tests/snapshot.test.ts
  • pnpm exec vitest run src/platforms/android/tests/snapshot.test.ts src/platforms/android/tests/snapshot-helper.test.ts src/platforms/android/tests/index.test.ts
  • pnpm exec vitest run src/daemon/handlers/tests/session.test.ts src/daemon/handlers/tests/session-open-runtime.test.ts src/platforms/ios/tests/runner-client.test.ts
  • pnpm check:quick
  • pnpm check:fallow --base 34713df
  • pnpm build
  • pnpm test
  • pnpm package:android-snapshot-helper:npm
  • agent-device devices --platform android --json returned no Android devices in this worktree, so live persistent-session verification was not available after implementation
  • Earlier live Android helper snapshot on React Navigation playground: helper elapsed ~505ms after one-shot optimizations, scroll-hidden-below preserved, zero-area refs filtered
  • Earlier throwaway persistent-helper prototype: React Navigation playground p50 one-shot 265.7ms vs persistent socket 16.5ms; ADR 0002 now implements that production path

@github-actions

github-actions Bot commented May 28, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-05-29 20:09 UTC

@thymikee thymikee changed the title fix: improve Maestro tab target swipes fix: improve Maestro Android reliability and snapshot speed May 29, 2026
@thymikee

Copy link
Copy Markdown
Member Author

Updated with Android snapshot speed work. Key validation: focused Android snapshot/helper vitest passed, pnpm build passed, pnpm check:quick passed, and React Navigation Android auth-flow.yml now passes in 50.94s. Snapshot timing went from about 11.5s baseline to about 1.47s warmed wall-clock, with helper elapsedMs around 718ms; preserving hidden-content hints by using helper scroll-action metadata instead of dumpsys activity top.

@thymikee thymikee merged commit d087a62 into main May 29, 2026
18 checks passed
@thymikee thymikee deleted the codex/fix-maestro-targets-swipes branch May 29, 2026 20:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant